1
線形履歴を超えて:ファストフォワードが失敗するとき
AI016Lesson 5
00:00

直線的な履歴は ファストフォワード ブランチの履歴が単一の子孫の連なりである場合にのみ可能になります。ベースブランチと機能ブランチが分岐した瞬間、ファストフォワードマージの単純な「ポインタ移動」は数学的に不可能になります。

1. 具体的な違い

ファストフォワードマージは 反映されません プロジェクトの履歴に反映されません。これは、統合時にブランチの独自の存在が実質的に消去されることを意味します。逆に、3ウェイマージは並行作業の物語を保持します。

2. 歴史家原則

恒久的な masterブランチ は私たちのプロジェクト全体の歴史家として機能します。それは私たちが許可したものしか記録できません。パスが分岐したとき、新しい「イベント」—— マージコミット——を作成せざるを得ません。これにより、同時に進化した二つの異なる現実を調和させることができます。

C1C2(ベース)Master(分岐済み)Crazy(機能)分岐した経路(非線形)

3. 分岐の検出

使用して git log --oneline開発者は、パスがどこで分岐したかを視覚的に確認できます。『master』が分岐以来進んでいた場合、Gitは『master』上の新しい作業を失わずにポインタを前にスライドさせることができません。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>